package game.userinteraction;

import java.util.Set;
import javax.swing.KeyStroke;


/**
 * An interface that all Objects that are controllable by
 * the user. All Objects implementing this interface can
 * be registered with a UserInputHandler and have input that
 * concerns them buffered based on frame rate.
 * 
 * @author Paul
 * 
 */
public interface IControllable {

    /**
     * Given the keys that were pressed during the duration
     * of the most recent game frame, this method should
     * decide what to do with those key presses, if anything.
     * 
     * @param set The keys that were pressed in the
     *        most recent game frame.
     */
    void react (Set<KeyStroke> set);

}
